"""
需求-目标：政府留言栏
分析：动态网站
数据接口：http://www.zjmazhang.gov.cn/hdjlpt/published?via=pc
请求：
    请求地址：http://www.zjmazhang.gov.cn/hdjlpt/published?via=pc
    请求方式：POST
    请求头：
    请求体|请求参数data (在Payload里面看)：
    offset: 0
    limit: 20
    site_id: 759010
    time_from: 1700323200
    time_to: 1731859199

改进：
    cookie是会过期的
    X-Csrf-Token是会变的
    所以直接通过抓包工具获取的值只能当下使用，过一段时间就不能用了，非常麻烦

目标：
    动态获取Cookie和Csrf-Token

分析：
    http://www.zjmazhang.gov.cn/hdjlpt/published?via=pc  (Set-Cookie)
    对它进行请求，就会让我们记录或者得到cookie的值
    ***抓包找到带有Set-Cookie的请求地址进行请求得到浏览器传给客户端的cookie值***

    http://www.zjmazhang.gov.cn/hdjlpt/published?via=pc
    对它进行请求，获取动态的Csrf-Token值
    var _CSRF = '8uKWjfA8F23pRKqgUhdbuwaubFHmHO9wEZ6V9INq';  (响应数据中的js全局变量)
"""
import re

import requests

#方法一：
res = requests.get('http://www.zjmazhang.gov.cn/hdjlpt/published?via=pc')
print(res.headers['Set-Cookie'])
csrf = re.findall(r'var _CSRF = \'(.*?)\';',res.text)
print(csrf[0])

res = requests.post('http://www.zjmazhang.gov.cn/hdjlpt/published?via=pc', {
    'offset': 0,
    'limit': 20,
    'site_id': 759010,
    'time_from': 1700323200,
    'time_to': 1731859199
},headers={
    'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36',
    'Referer':'https://www.sse.com.cn/',
    'Cookie':'td_cookie=2288850588; td_cookie=2288584237; zh_choose=n; XSRF-TOKEN=eyJpdiI6ImxRd0pOOE02cGN1aTRsemM1TldLNHc9PSIsInZhbHVlIjoiZkdnVkJQWjE5MDJTV0FkcFVjejBcL1NWVGlEcHg4WGNNdkVHQnJuTlwveXNJbjFzUWdlQVRlN2Y2Sm9NaHNXOWZCIiwibWFjIjoiNGQ0MThhY2NmYjYwMmRmZmI0MjViZjE2OTQ5YmVkZWU2NGYzZmY3MjYxNDk5Njk1ZWFhZDQyMjNiMDU0ZDY1OSJ9; szxx_session=eyJpdiI6ImdnTElJU25LOUE0TmJhT3liZFpcL3BRPT0iLCJ2YWx1ZSI6IndoVWczWVZHYmcxbGc5YW5yYlpJQXc5ZjlQZkFsS0JTNDlDWUR3V1AwS3F3VVphazJBSlwvRGozMW1DRkhRallPIiwibWFjIjoiYmFhMDM4YTI0NDA2ZWIzYTA3YTg5NTk1YjNmYzkzYjFjNmZlYmM5OWMwZDJjODNkNDY3YzFmNjVjN2Y4MmIxMiJ9',
    'X-Csrf-Token':csrf[0]
})

print(res,res.status_code,res.text)
print(res.json())  #自动吧响应的字符串数据解析为python类型的数据，要求响应的字符串数据要是json格式否则会报错

data = res.json()
print(data['data']['list'])
for i in data['data']['list']:
    print('标题：',i['title'])
    print('内容：',i['content'])
    print('回复：',i['reply'])